When an image is exposed onto an image sensor, each pixel records the amount of light that it “sees” as an intensity level between a dark signal wherein no light reaches that pixel, to a full white signal representing the maximum amount of light detectable by that pixel. The image thus captured by the image sensor is processed as a grayscale image.
To detect the colors of the image exposed onto the image sensor, the pixels of the image sensor are covered with a respective color filter that absorbs light wavelengths for all colors except the color of the filter. An exemplary method for acquiring color information from an image sensor is to place a color filter array over the pixels of an image sensor. The most common example of such a color filter array is a Bayer mosaic filter, shown in FIG. 1. The Bayer mosaic filter has a checkerboard like configuration and is composed of alternating rows of red and green, and blue and green filters. The red and blue filters are offset from each other so that no two green filters share an edge between adjacent rows and columns. To obtain complete color information for each pixel, it is necessary to interpolate the intensity of the colors based on the level of those colors at the surrounding pixels.
Although a typical image sensor has at least hundreds of thousands of pixels collecting color filtered information for an image, each pixel is important, not just for the signal value recorded in that pixel, but also for use in interpolating color information for other surrounding pixels. Thus, when a pixel is defective, its effects can be compounded to affect a significant portion of the image.
Due to a number of inherent variabilities in the manufacturing processes of image sensors such as charge-coupled devices (CCDs) or complementary metal oxide semiconductors (CMOSs), some of the pixels of the imaging array in each sensor are either always dark (often due to a short in the circuitry) or always too bright (often due to abnormally high leakage current). In most cases these defects can be corrected by substituting the defective signal values with the values of adjacent pixels during image processing. However, this substitution requires knowledge of the defective pixel locations.
In most cameras presently known, the locations of the defective pixels are determined during an off-line testing procedure during the production stage and are stored in a non-volatile memory in the camera. The main drawback of this conventional approach is that the number of defects that can be corrected is limited by the size of the non-volatile memory dedicated to this purpose. Another drawback of the conventional approach is that it requires a separate manufacturing step for the identification and storage of the defect locations.
Other existing camera modules perform correction of defective pixels by comparing each pixel with adjacent pixels, such as those on either side of the pixel in the same line, and performing substitution using threshold-based criteria. Such defect correction methods using comparisons based on predetermined thresholds tend to diminish resolution, as fine details such as thin vertical lines are “eliminated” from the image.
In view of the present state of the art, the process for correcting defective pixels would thus be greatly improved if the dedicated non-volatile memory currently required for storing the pre-calibrated defect map could be eliminated, and if the correction of defective pixels could be made without using threshold criteria.